There are a wide variety of different types of business data systems currently in use. Such systems often include enterprise resource planning (ERP) systems, customer relations management (CRM) systems and line-of-business (LOB) applications, among others.
In deploying a business data system within a business, an independent service vendor (ISV) or developer often takes the initial business data system and modifies, or customizes, it to the particular needs of the company. For instance, a developer may customize the code or metadata or both in the business data system so that it meets the particular needs of a given company.
During this type of development, the developer may wish to ensure that the customizations that are being made conform to the best practices for the specific business data system. In addition, the developer may wish to have the customizations analyzed to determine whether they are generating errors, or other problems with the deployment. It is currently quite cumbersome to obtain this type of analysis. In fact, a comprehensive analysis of the customizations is not normally obtainable at all.
Additionally, in order to obtain any type of analysis of a customization, the developer often sends the customized code to the analyzer (which may be the manufacturer of the underlying business data system that was customized by the developer) and requests an analysis. The customized code is then run locally by the analyzer. The analyzer may run different types of automated checks on the customized code and perform some manual tests and then provide fairly limited feedback. The feedback can include general feedback as to the accuracy of the customized code, as to whether it will cause errors, as to whether it conforms to best practices established by the analyzer, etc. In addition, to being limited, this type of analysis can take hours or even days. In the interim, the developer does not know the results of the analysis.
It has also been difficult, with conventional business data systems, for the research and development team that designed the business data system to obtain information about how customers are using the product and to update best practices as they are developed. For instance, it is very difficult, if not impossible, to obtain aggregated data that illustrates how a plurality of different customers and partners are customizing the product. Currently, in an attempt to obtain this information, the research and development team conducts time consuming and costly human interviews with various customers. These interviews attempt to obtain data from the customer about how the customer customized the product, how the product is being deployed, etc. In addition, the research and development team can sometimes obtain a copy of the customized code from the customer (for a one-time use) for analyzing the code. The research and development team then normally needs to write additional code to run an analysis on the customer file. In the end, this only provides information about a single customer. It has been very difficult and cumbersome, if not impossible, to view aggregated data about how customers and partners customize the product. Therefore, the research and development team normally does not fully leverage this information, from a large cross section of customers, in generating new releases and additional features for the underlying product.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.